<?php

Class Auth {


	
	function doLogin() {
                    global $main;
		//controllo per evitare accessi forzati
		    $_POST['username'] = addslashes($_POST['username']);
		    $_POST['password'] = addslashes($_POST['password']);

                                         
                    //convalida utente
                    if (!isset($_SESSION['user'])) {
                            $oid = mysql_query("SELECT *
                                                FROM utente
                                               WHERE email = '{$_POST['username']}'
                                                 AND password = MD5('{$_POST['password']}')");                                                            
                            if (!$oid) {//controllo esito query
                                    setcontents::setTemplate();
                                    setcontents::setMenu("Errore nel database. Ci scusiamo per il disagio","alert");
                                    setcontents::setBody(null);
                                    $main->close();
                                    exit;
                            }


                            if (mysql_num_rows($oid) == 0) { //se la query non ha prodotto risultati l'utente non è registrato
                                    setcontents::setTemplate();
                                    setcontents::setMenu("Utente non registrato,controlla i dati inseriti","alert");
                                    setcontents::setBody(null);
                                    $main->close();
                                    exit;
                            }

                            
                            $result=mysql_fetch_assoc($oid);
                            $not_confirmed = mysql_num_rows(mysql_query("SELECT * 
                                                FROM reg_conf
                                                WHERE reg_conf.email_utente='{$result['email']}'"));

                           if ($not_confirmed){//controllo se i dati inseriti corrispondono ad una registrazione non confermata per email
                                    setcontents::setTemplate();
                                    setcontents::setMenu("Registrazione non confermata, controllare l'email","alert");
                                    setcontents::setBody(null);
                                    $main->close();
                                    exit;
                           }else {
                                
                                $_SESSION['user']= $result;//inizializziamo la sessione
                                $_SESSION['user']['start_time']=date('d/m/Y - H:m:s');
                                //selezioniamo gruppo e relativi servizi corrispondenti all'utente loggato
                                    $oid = mysql_query("SELECT
                                                        gruppo.nome as gruppo, servizio.script,servizio.nome as servizi
                                                        FROM
                                                        utente
                                                        LEFT JOIN
                                                        privilegi
                                                        ON privilegi.email_utente = utente.email
                                                        LEFT JOIN
                                                        gruppo
                                                        ON gruppo.id = privilegi.id_gruppo
                                                        LEFT JOIN
                                                        assegnamento_servizi
                                                        ON assegnamento_servizi.id_gruppo = gruppo.id
                                                        LEFT JOIN
                                                        servizio
                                                        ON servizio.id = assegnamento_servizi.id_servizio
                                                        WHERE
                                                        utente.email = '{$_SESSION['user']['email']}'");
                                    
                                    if (!$oid) {
                                             setcontents::setTemplate();
                                             setcontents::setMenu("Errore nel database. Ci scusiamo per il disagio","alert");
                                             setcontents::setBody(null);
                                             $main->close();
                                             exit;
                                    }                                    
                                    
                                    
                                        do {//inseriamo nella sessione i servizi per i quali si ha l'autorizzazione
                                                $data = mysql_fetch_assoc($oid);
                                                if ($data) {  
                                                            //echo  $data['gruppo']."-".$data['servizi']."-".$data['script']."</br>";//debug
                                                    $_SESSION['user']['privilegi'][] = $data;
                                                            /*echo $_SESSION['user']['privilegi'][0]['servizi'];//debug
                                                            echo $_SESSION['user']['privilegi'][1]['servizi']."</br>";*/
                                                }
                                        } while ($data);
                                    
                                    if ($_SESSION['user']['privilegi'][0]['servizi']==null) { //se l'utente non ha associati servizi nella tabella privilegi viene notificato
                                        setcontents::setTemplate();
                                        setcontents::setMenu("Nessun privilegio assegnato all'utente","alert");
                                        setcontents::setBody(null);
                                        $main->close();
                                        exit;
                                    }

                                }

                    }
                    
            }

    
}
?>
